<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<%@ include file="../../common/jsp/sheetHeader.jsp" %>
<script>
	$(document).ready(function() {
		//sheet 초기화  
		createIBSheet2(document.getElementById("viewArea"),"mySheet","100%","400px");
		
		var cfg = {SearchMode:smLazyLoad,Page:30,FrozenCol:3};
		
		var headers = [ {Text:"NO|상태|삭제|문자열|콤보|콤보에디트|팝업|팝업에디트|자동합계|자동평균|정수|실수|날짜|패스워드|체크박스|라디오|이미지", Align:"Center"} ];
		var info = {Sort:1,ColMove:1,ColResize:1,HeaderCheck:0};
		var cols = [
			{Type:"Seq", Align:"Right"},
			{Type:"Status", Align:"Center"},
			{Type:"DelCheck"},
			{Type:"Text",SaveName:"Text",KeyField:1	},
			{Type:"Combo",SaveName:"Combo", Width:80, ComboText:"대기|진행중|완료", ComboCode:"01|02|03"},
			{Type:"ComboEdit", Width:80, ComboText:"고려대학교|국민대학교|서울대학교|서강대학교|서울산업대학교|서울시립대학교|상명대학교|숙명여자대학교|연세대학교|울산대학교|울산과학기술대학교|이화여자대학교|인천대학교|인천가톨릭대학교"},
			{Type:"Popup", Width:100},
			{Type:"PopupEdit", Width:100},
			{Type:"AutoSum", Align:"Right",Width:70,Format:"NullInteger"},
			{Type:"AutoAvg", Align:"Right",Width:70, Format:"NullFloat"},
			{Type:"Int", Align:"Right", Format:"NullInteger",Width:70},
			{Type:"Float", Align:"Right", Format:"NullFloat",Width:70},
			{Type:"Date", Align:"Center", Format:"Ymd", Width:100},
			{Type:"Pass"},
			{Type:"CheckBox"},
			{Type:"Radio"}
		];
		
		mySheet.SetConfig(cfg);
		mySheet.InitHeaders(headers,info);
		mySheet.InitColumns(cols);

		mySheet.FitColWidth();
		
		doAction('search');
	});
	
	/*Sheet 각종 처리*/
	function doAction(sAction) {
		switch(sAction) {
			case "search":		//조회
				mySheet.DoSearch("../data/sheet_data.xml");
				break;
			case "save":
				mySheet.DoSave("save.jsp");
				break;
		}
	}
	
	function mySheet_OnSearchEnd(Code, Msg, StCode, StMsg) {
		mySheet.FitColWidth();
	}
	
</script>
<title>단순 저장 예제</title>
</head>
<body>
<div id="main">
	<%@ include file="../../common/jsp/sheetNavi.jsp" %>	
	<div id="title">단순 저장 예제</div>
	<div id="desc">
		데이터의 트랜잭션 상태 또는 특정 컬럼 데이터에 따라 저장 처리한다.<br>
		Col 인자에 아무것도 설정하지 않는 경우 트랜잭션 상태가 조회가 아닌 데이터 행만 저장 처리하고, Col에 특정 인자가 있는 경우 해당 컬럼에 값이 있는 데이터만 저장 처리한다.<br>
		해당 컬럼이 CheckBox 형태 인 경우 CheckBox에 체크된 것만 저장 처리한다.<br>
		<br>
		데이터 건수가 한건도 없으면 경고 메시지를 표시하고, 처리는 중단한다.<br>
		저장 준비를 위한 저장 데이터를 모으는 과정에서 OnValidataion 이벤트가 발생하며 사용자 정의 로직에 따라 OnValidataion에서 실패한 경우 저장 처리는 중단한다.<br>
		<br>
		Url로 저장 페이지를 호출하고 저장 처리를 완료하여 저장 XML을 읽어 들이고 난 후 OnSaveEnd 이벤트를 발생하고 처리는 종료된다.<br>
		<br>
		<br>
		//트랜잭션이 일어난 데이터만 저장하기<br>
		mySheet.DoSave("Save.jsp" ,"id=khlee&seq=1");<br>
		<br>
		//2컬럼의 CheckBox가 체크된것만 저장하기<br>
		mySheet.DoSave("Save.jsp" ,"id=khlee&seq=1", 2);<br>
		<br>
		//설정할 "선택" 인자 json형식으로 속성 설정하기<br>
		mySheet.DoSave(PageUrl, {UrlEncode:0, Mode:2, Delim:"$"});
	</div>

	<div id="functionArea">
		<div>
			<span>
			<input type="button" value="조회" onclick="doAction('search')">
			<input type="button" value="저장" onclick="doAction('save')">
			</span>
		</div>
	</div>
	
	<div id="viewArea">
	</div>
</div>
</body>
</html>